MC_Phasing (FB)

 

FUNCTION_BLOCK MC_Phasing

MC_Phasing provides a constant phase shift between master and slave axis.

MC_Phasing will abort any ongoing movement of the slave axis. In this respect, it differs from the function blocks MC_PhasingAbsolute and MC_PhasingRelative defined by the PLCopen for Motion Control 2.0 standard. These function blocks don't abort an ongoing slave movement but superimpose the phase shift on top of e.g. an ongoing MC_CamIn or MC_GearIn movement. To achieve this behavior with MC_Phasing, please use an additional virtual axis as the slave axis of MC_Phasing and use this virtual slave as the master for MC_CamIn or MC_GearIn. Alternatively, MC_MoveSuperimposed can be used on the master axis of an MC_CamIn or MC_GearIn movement.

Important

Phase, Velocity, Acceleration and Deceleration of a phase shift are controlled by the function block.

Timing example of MC_Phasing

Timing of MC_Phasing

Phasing1.png

Example demonstrating the effect of MC_Phasing

Demonstrating the effect of MC_Phasing

Phasing2.png

InOut:

Scope

Name

Type

Initial

Comment

Inout

Master

AXIS_REF_SM3

Reference to master axis

Slave

AXIS_REF_SM3

Reference to slave axis

Input

Execute

BOOL

FALSE

Rising edge: Starts the execution of the function block.

PhaseShift

LREAL

0

Phase difference between master and slave (slave - master) [u]

Velocity

LREAL

0

Maximum velocity for reaching phase difference [u/s]

Acceleration

LREAL

0

Maximum acceleration for reaching phase difference [u/s²]

Deceleration

LREAL

0

Maximum deceleration for reaching phase difference [u/s²]

Jerk

LREAL

maximum jerk to reach phase difference [u/s^3]

Output

Done

BOOL

FALSE

TRUE: Commanded phasing has been reached.

Busy

BOOL

FALSE

TRUE: Execution of the function block has not been finished.

CommandAborted

BOOL

FALSE

TRUE: Command has been aborted by another command.

Error

BOOL

FALSE

TRUE: Error has occurred within the function block.

ErrorID

SMC_ERROR

0

Error identification